/*
* Authors: Karymov Anton
*          Skorodumov Kirill
* This file contains headers for branching algorythm.
* June-August,	2011
*/

#pragma once

#include "types.h"

typedef std::list<vertex_t> cover_t;

class max_degree_algorythm {
private:
  bool is_covered ();
  graph_t g;
  std::pair<vertex_t,int> max_degree_vertex();	
  cover_t cover;
public:	
  cover_t get_cover() const;
  max_degree_algorythm(graph_t & g_);
  cover_t greedy_min_vertex_cover();
};

